package main

import (
	"flag"
	"log"
)

func main() {
	var name string
	//声明了一个 name 标志，并将它关联到 name 字符串变量上。如果用户在命令行中使用 -name 标志指定了一个值，那么该值将被存储到 name 变量中，如果用户未提供这些标志，默认值为“Go语言编程之旅”
	flag.StringVar(&name, "name", "Go语言编程之旅", "帮助信息")
	//声明了一个 n 标志，并将它关联到 name 字符串变量上。如果用户在命令行中使用 -n 标志指定了一个值，那么该值将被存储到 name 变量中，如果用户未提供这些标志，默认值为“Go语言编程之旅”
	flag.StringVar(&name, "n", "Go语言编程之旅", "帮助信息")
	//解析命令行参数
	flag.Parse()

	log.Printf("name: %s", name)
}

/*
终端：go run ./main.go
输出：name: Go语言编程之旅

终端：go run ./main.go -name=灰太狼 -n=喜羊羊
输出：name: 喜羊羊

终端：go run ./main.go -n=喜羊羊 -name=灰太狼
输出：name: 灰太狼
*/
